#include <iostream>
#include <vector>
#include <cstring>

using namespace std;

int m[2021][2021];

int gcb(int a, int b)
{
    if(b==0){ return a;}
    return gcb(b, a%b);
}

int lcm(int a, int b)
{
    return a*b/gcb(a, b);
}

int main()
{
    memset(m, 0x3f, sizeof m);
    for(int i=0;i<2021;i++)
    {
        for(int j=i+1;j<i+22;j++)
        {
            if(j>2020){break;}
            int temp = lcm(i+1, j+1);
            m[i][j] = temp;
            m[j][i] = temp;
        }
    }
    for(int i=0;i<2021;i++)
    {
        for(int j=0;j<2021;j++)
        {
            for(int k=0;k<2021;k++)
            {
                if( m[i][j]==0 || m[j][k]==0){continue;}
                m[i][k] = min(m[i][k], m[i][j]+m[j][k]);
            }
        }
    }
    cout<<m[0][2020];
    return 0;
}
